package org.example.order.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RecommendService {
    Map<Long, Set<Long>> getUserItem();
    Map<Long, Integer> getItemUserCount(Map<Long, Set<Long>> userItem);
    Map<Long, Map<Long, Integer>> getCoOccurrence(Map<Long, Set<Long>> userItem);
    Map<Long, Map<Long, Double>> getGoodSimilarities(
            Map<Long, Integer> itemUserCount,
            Map<Long, Map<Long, Integer>> coOccurrence
    );
    List<Long> getRecommendations(
            long userId,
            int topK,
            Map<Long, Map<Long, Double>> goodSimilarities
    );
}
